package fr.ifsic.film.client;

import com.google.gwt.user.client.rpc.AsyncCallback;

import fr.ifsic.film.client.dto.ActeurDTO;
import fr.ifsic.film.client.dto.FilmDTO;
import fr.ifsic.film.client.dto.PersonneDTO;
import fr.ifsic.film.client.dto.VedetteDTO;
import fr.ifsic.film.client.dto.VedetteIdDTO;

public interface ProjetDopAsync {

	void addP(PersonneDTO p, AsyncCallback<Integer> callback);

	void deleteP(Integer cle, AsyncCallback<Void> callback);

	void getP(Integer cle, AsyncCallback<PersonneDTO> callback);

	void listPersonne(AsyncCallback<PersonneDTO[]> callback);

	void addA(ActeurDTO a, AsyncCallback<Integer> callback);

	void deleteA(Integer cle, AsyncCallback<Void> callback);

	void listActeur(AsyncCallback<ActeurDTO[]> callback);

	void addF(FilmDTO f, AsyncCallback<Integer> callback);

	void deleteF(Integer cle, AsyncCallback<Void> callback);

	void listFilm(AsyncCallback<FilmDTO[]> callback);

	void addV(VedetteDTO v, AsyncCallback<Integer> callback);

	void deleteV(VedetteIdDTO cle, AsyncCallback<Void> callback);

	void listVedette(AsyncCallback<VedetteDTO[]> callback);
}
